Computer systems can store data and information in data files or data sets, often referred to as documents. Documents may be stored temporarily in the computer""s memory (e.g. RAM, ROM) while the computer is operating, or may be stored more permanently on a physical medium (e.g. a hard disk or a floppy-disk) from which they may be retrieved for use with the computer. Documents can store a variety of data types including image files, presentations, text documents, databases, sound files, and spreadsheets.
Data in a document can be created, accessed, and modified by a software application. Different applications may be associated with different document types and may include software tools to create, edit, or modify data in the associated document type. For example, a user may create a text document with a word processing application, such as Microsoft Word(copyright), and may use tools, such as those found in the Microsoft Word xe2x80x9cFilexe2x80x9d pull-down menu (e.g. the xe2x80x9cnew,xe2x80x9d xe2x80x9csave,xe2x80x9d xe2x80x9cprintxe2x80x9d tools), to create, store, and print the text document. Similarly, a user may create a spreadsheet document with a spreadsheet application, such as Microsoft Excel(copyright), and may use mathematical function tools to analyze data in the spreadsheet document and may use graphing tools to graphically present data contained in the spreadsheet document. The appearance and utility of the text and spreadsheet documents is determined by tools in the associated word processing and spreadsheet applications.
Generally, when a user works on a document using the tools of an associated application, only documents of the type associated with the chosen application may be created or modified. For example, when using a word processing program only text documents may be created and modified, and when using a spreadsheet program only spreadsheet documents may be worked on. Thus, application functionality may conform to a document-centric model. A document-centric model of applications suggests a user understanding that certain applications are limited to certain document types and vice-versa.
A document-centric application model can be restrictive to the user when the user wishes to perform multiple tasks that require multiple applications and, therefore, the use of multiple document types. For example, if a user is using one application to work on a document and perform a task, but wishes to perform a related but different task that requires different tools, the user must use tools from a second application. The use of a second application may entail exiting the current document, opening a second document of a type compatible with the second application and performing the desired task in the second document. The user may store the results of the two applications in two documents of different document types.
When documents are independently stored, working on one document in one application does not automatically recall the other related document. Rather, recalling the other related document requires using a different application to retrieve the related document. Thus, the user may need to manually maintain a cataloging system to remember that the two different documents contain related data and information.
Document embedding may be used as an alternative to separate storage of related documents. Embedding may be supported by an operating system or a software application. For example, in a Microsoft Windows 95/98(trademark) implementation, object linking and embedding (OLE) technology is often used to enable the importation and embedding of a secondary document into a primary document. Nevertheless, this requires a user using a primary program first to correctly determine the secondary document type to be imported, second to open such a document, third to insert into the secondary document the data he wants to work on, fourth to use the secondary program to edit the secondary document, and fifth to import the second document into the primary document. This is a long and cumbersome process. Thus, for example, a user may use a word processing application to create a text document and a spreadsheet application to create or modify a spreadsheet document that may be imported into and stored in a text document, but the processing is not user-friendly.
When a user uses a primary software application to work on a document of a particular type associated with the software application, the user may create an object embedded within the document, which may be edited with the tools of a secondary application that is not associated with the particular document type. An object in an application environment may be a discrete element of a document, for example, a spreadsheet, a graphic, or a piece of text. Graphical space is allocated in the document for the object, and the object is stored as part of the document. A user""s selection of an object contained within a document may activate a secondary application to edit the data contained in the object. For example, when using Microsoft Word(copyright) to work on a text document, a user may create a spreadsheet object in the text document and edit the spreadsheet with the Microsoft Excel(copyright) tools. Selection of the spreadsheet object in the Words(copyright) document may activate the Excels(copyright) tools to edit the spreadsheet. When objects conforming to one document type are embedded in a document of a different type, however, only one document type is created. The single document stores the results of the multiple different applications that conform to different document types. As a consequence, in the example described above, the text and the spreadsheet work would be stored in a text document because the user had been using a word processing program as the primary application. In a group work environment in which multiple users need access to multiple documents on a computer, storing the results of many different tasks in a single document may restrict access and productivity. It may have the effect of making fewer documents simultaneously available to the users, or of forcing users with expertise and experience in using different applications to all use the same document with their applications.
The functional relationship between applications and document types and the document-centric application model is further demonstrated by the way applications and document types are used by standard operating systems (e.g. Microsoft NT, Microsoft Windows). An application is opened, i.e. initialized and displayed on a computer display so that the user may begin working with the application, by typing an instruction at a command line of the operating system or by clicking with a mouse on an icon representing the application. When the application is opened it may display a window, in which a document may be displayed and worked on with the tools of the application. Normally when an application is opened it automatically displays in a window of the computer display a document of a type that is associated with the application. The document may be one that was previously created and then stored on the computer or it may be a new, blank document that the user may modify with the application""s software tools and then save. Thus, opening an application with the operating system may automatically open a document of the type associated with the application.
Similarly, opening a document with operation system software functionality, for example by clicking on the document""s icon, may automatically trigger the opening of an application that is functionally associated with the document type being opened. Thus, the document type and the associated software application are fundamentally linked.
Software tools can be collected into task-oriented functional groups known as workbenchs. Workbenches may be created, for example, to perform the different tasks of editing text, designing parts, assembling parts into a machine or device, and analyzing the stresses on a part of a machine or device. Moreover, workbenches may be functionally associated with, and used to work on, particular document types. A document type may be associated with a workbench if the workbench can perform its task in the document.
In general, in one aspect, the invention features a computer system operation method for allowing a user to work on documents. The method includes using a set of hierarchically interrelated workbenches. Hierarchically interrelated sets of documents are also used by the software method, and each document has a document type associated with at least one of the workbenches. Furthermore, at least one document is invoked when a user selects a workbench. A document is invoked when either a new document is created or when an existing document on the computer system is retrieved.
Embodiments of the invention may include one or more of the following features. Different workbenches may include different software tools of a software system, and the user may determine which tools of the software system are included in each workbench. The documents created when the user selects a workbench may be of document types determined by the user""s selection of the particular workbench from the set of workbenches. The computer system operation method may be a CAD/CAM/CAE software system.
In general, in another aspect, the invention features a computer system operation method for allowing a user to work on interrelated documents. The method includes monitoring a user""s selection of a second workbench, when the user is using a first workbench to work on data contained in a first document; and creating a second document, upon the user""s selection of a second workbench, when the second document is of a document type that is associated with the second workbench.
Embodiments of the invention may include one or more of the following features. The first and second workbenches may include different software tools of a software system, and the user may determine which tools of the software system are included in each workbench. Furthermore, the document type of the first document may differ from the document type of the second document. In addition, the second document may be of a document type determined by the user""s selection of the second workbench. Upon creation of the second document, referencing data may be generated and stored in the first document, where the data reference all or part of the data in the second document. Alternatively, upon creation of the second document, referencing data may be generated and stored in the second document, where the data reference all or part of the data in the first document.
Additional embodiments of the invention may include one or more of the following features. One or more objects representative of data contained in one or more documents may be displayed in a first window of a computer display, and a second window of the computer display may be activated upon the user""s selection of an object from one of the documents displayed in the first window. One or more objects representative of data contained in one or more documents may be displayed in a first window of a computer display, and a second window of the computer display may be activated upon the user""s selection of a workbench. The software operation method may be a CAD/CAM/CAE software system.
In general, in another aspect, the invention features a method of operating a CAD/CAM/CAE computer system containing a plurality of software tools. Each of said software tools is used by a user to perform one or more particular actions as part of the user""s use of the software system. The method includes organizing the plurality of software tools into a plurality of workbenches, each workbench including a different subset of software tools generally required by the user to perform a specific task. The method further includes defining a hierarchy among the workbenches, in which the hierarchy includes at least one reference from at least one workbench to at least one other workbench. The method additionally includes storing a record of the hierarchy on the computer system. The method further includes using a workbench to work on a document that is one of a several predetermined document types, and where the document is of a document type associated with the workbench being used.
In one embodiment of the invention, one or more workbenches are used to work on one or more documents, where each workbench is associated with at least one document type of several possible document types, and each document has a document type. A list of available workbenches is displayed to the user and the entry of a command by the user is monitored. If the command entered by the user indicates the selection of a workbench a new document may be created, where the type of the new document is associated with the selected workbench. But if the command entered by the user indicates the selection of an existing document, the existing document is retrieved and displaying to the user in the context of a workbench associated with the existing document""s type.
In general, in another aspect, the invention features a computer program, residing on a computer-readable medium, including instructions for causing a computer to create a set of hierarchically interrelated workbenches and a set of hierarchically interrelated documents. Each document is of a document type that is associated with at least one of said workbenches and at least one document is created when a user selects a workbench associated with the document""s type.
In general, in another aspect, the invention features, a computer program, residing on a computer-readable medium, including instructions for causing a computer to monitor a user""s selection of a second workbench to use, when the user is using a first workbench to work on data contained in a first document, and to create a second document, upon the user""s selection of a second workbench, when the second document is of a document type that is associated with the second workbench.
In general, in another aspect, the invention features a computer program, residing on a computer-readable medium, including instructions for operating a CAD/CAM/CAE computer software system containing a plurality of software tools. Each of said software tools may be used by a user to perform one or more particular actions as part of the user""s use of the software system. The computer program includes instructions to organize the plurality of software tools into a plurality of workbenches, where each workbench contains a different subset of the plurality of software tools, and each different workbench includes the software tools generally required by the user to perform a specific task. The computer program includes instructions to define a hierarchy among the workbenches, where the hierarchy includes at least one reference from at least one workbench to at least one other workbench. The computer program stores a record of the hierarchy on the computer system. The computer program includes further instructions to use a workbench to work on a document, where the document is of a document type associated with the workbench.
Embodiments of the invention may include one or more of the following features. The computer program may include instructions to use one or more workbenches to work on one or more documents, each workbench being associated with at least one document type of a plurality of predetermined document types, and each document having a document type. The computer program may include instructions to display to the user a list of available workbenches, and to monitor the entry of a command by the user. A new document may be created if the command entered by the user indicates the selection of a workbench, the type of said new document being a document type associated with said workbench. If the command entered by the user indicates the selection of an existing document, the existing document may be retrieved and displayed to the user in the context of a workbench associated with the existing document""s type.
In general, in another aspect, the invention features an apparatus for using a software system to control the creation and storage of documents. The apparatus includes an electronic digital computer system for operation with the software system; means for storing documents; means for creating a set of hierarchically interrelated workbenches; means for creating a set of hierarchically interrelated documents, where each document comprises a document type associated with at least one workbenches and where at least one document is created when a user selects a workbench associated with the document""s type; and
In general, in another aspect, the invention features, an apparatus for using a software system to control the creation and storage of documents. The apparatus includes an electronic digital computer system for operation with the software system; means for storing documents; means of monitoring a user""s selection of a second workbench to use, when the user is using a first workbench to work on data contained in a first document; means of creating a second document, upon the user""s selection of a second workbench, where the second document is of a document type that is associated with the second workbench.
In general, in another aspect, the invention features, an apparatus for using a CAD/CAM/CAE software system containing a plurality of software tools, in which the software tools may be used by a user to perform one or more particular actions as part of the user""s use of the software system. The apparatus includes an electronic digital computer system for operation with the software system; means of organizing the software tools into a plurality of workbenches, where each workbench includes a different subset of software tools and each subset includes the software tools generally required by the user to perform a specific task; means of defining a hierarchy among the workbenches, where the hierarchy includes at least one reference from at least one workbench to at least one other workbench; means of storing the hierarchy on the computer system; and means of using a workbench to work on document, where the document has a document type that associated with the workbench used.
In one embodiment, the invention includes means of using one or more workbenches to work on one or more documents, where each document has a document type and each workbench is associated with at least one document type; means of displaying to the user a list of available workbenches; means of monitoring the entry of a command by the user; means of creating a new document if the command entered by the user indicates the selection of a workbench, where the document type of the new document is a document type associated with the selected workbench; means of retrieving an existing document if the command entered by the user indicates the selection of an existing document; and means of displaying the existing document to the user in the context of a workbench associated with the document type of said existing document.
The advantages of the invention include one or more of the following. The workbench environment facilitates the management and organization of documents and objects as the user of a software system performs different tasks on documents within the software system. In the workbench environment the software system automatically takes care of creating the necessary documents, and using the existing content and data, as the user switches between different tasks.
Other features and advantages of the invention will become apparent from the following description and from the claims.